home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)tv.d64 / hangman.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  6KB  |  219 lines

  1. 1 REM           HANGMAN
  2. 2 REM
  3. 3 REM    (C) LARRY PHILLIPS
  4. 4 REM        VANCOUVER B.C.
  5. 5 REM        (604)325-6224
  6. 6 REM
  7. 7 REM I BELIEVE IN FREE OR CHEAP              SOFTWARE,JUST LEAVE THE CREDITS.
  8. 8 REM
  9. 9 REM     MODIFIED BY G J FLYNN
  10. 10 REM
  11. 30 PRINT"[147]"TAB(16)"HANGMAN."
  12. 40 PRINT:PRINTTAB(7)"DO YOU NEED INSTRUCTIONS?"
  13. 50 GETI$
  14. 60 IFI$="Y"THEN90
  15. 70 IFI$="N"THEN200
  16. 80 GOTO50
  17. 90 PRINT"[147]    I WILL THINK OF A WORD."
  18. 100 PRINT"THE DASHES ([192][160][192][160][192]) WILL SHOW YOU"
  19. 105 PRINT"HOW MANY LETTERS IT HAS.":PRINT
  20. 110 PRINT"IF YOU GUESS A LETTER CORRECTLY,"
  21. 115 PRINT"I WILL PUT IT INTO THE WORD, AND GIVE"
  22. 116 PRINT"YOU A CHANCE TO GUESS THE WHOLE WORD.":
  23. 118 PRINT"IF YOU DON'T WANT TO GUESS THE WORD THENPRESS 'SPACE'.":PRINT
  24. 120 PRINT"IF YOU ARE WRONG, I WILL DRAW ANOTHER"
  25. 125 PRINT"PART OF THE MAN.":PRINT
  26. 130 PRINT"THE MAN WILL BE COMPELTELY DRAWN AFTER"
  27. 135 PRINT"TEN WRONG GUESSES.(AND WILL BE HUNG)":PRINT
  28. 140 PRINT:PRINT"HE IS DEPENDING ON YOU!":PRINT:PRINT
  29. 189 PRINT"DO YOU WANT TO PLAY NOW?"
  30. 190 GETI$:IFI$="Y"THEN200
  31. 191 IFI$="N"THEN1999
  32. 192 GOTO190
  33. 200 PRINT"[147]WORKING...."
  34. 203 GOSUB2500:SYS704:GOSUB2000
  35. 210 POKEX(1)+Y(0),85
  36. 220 POKEX(5)+Y(0),74
  37. 230 POKEX(1)+Y(21),73
  38. 240 POKEX(5)+Y(21),75
  39. 250 FORI=1TO20:POKEX(1)+Y(I),64
  40. 260 POKEX(5)+Y(I),64:NEXTI
  41. 270 POKEX(4)+Y(0),93:POKEX(4)+Y(21),93
  42. 280 POKEX(3)+Y(0),93:POKEX(3)+Y(21),93
  43. 290 POKEX(2)+Y(0),93:POKEX(2)+Y(21),93
  44. 300 FORI=26TO39:POKEX(0)+Y(I),160:NEXTI
  45. 310 FORI=0TO24:POKEX(I)+Y(39),160:NEXTI
  46. 320 FORI=26TO38:POKEX(23)+Y(I),206
  47. 330 POKEX(24)+Y(I),207:NEXTI
  48. 340 POKEX(23)+Y(26),233:POKEX(23)+Y(39),232
  49. 350 POKEX(1)+Y(35),95:POKEX(1)+Y(36),223
  50. 360 POKEX(2)+Y(36),95:POKEX(2)+Y(37),223
  51. 370 POKEX(3)+Y(37),95:POKEX(3)+Y(38),223
  52. 380 POKEX(4)+Y(38),95:POKEX(1)+Y(28),66
  53. 390 POKEX(2)+Y(28),66:POKEX(3)+Y(28),66
  54. 400 POKEX(24)+Y(39),207
  55. 410 PRINT"  LETTERS GUESSED"               
  56. 420 PRINT""
  57. 430 GOSUB2050:GOSUB2200:GOSUB2260
  58. 460 GOSUB3000:GOSUB3010:GOSUB3020
  59. 490 GOSUB3030:GOSUB3040:GOSUB3050
  60. 510 GOSUB3050
  61. 520 GOSUB3060:PRINTTAB(10)"HANGMAN"
  62. 540 FORI=1TO3000:NEXTI
  63. 550 PRINTTAB(10)"[145]       [145]":GOSUB2300
  64. 560 DIMLG$(26),W$(50),WU%(50):DIMLM$(12)
  65. 570 FORI=0TO49:READW$(I):NEXTI
  66. 580 FORI=0TO49:WU%(I)=0:NEXTI
  67. 590 S1=0:S2=0:FL=0
  68. 600 FOR I=0TO25:LG$(I)=" ":NEXTI
  69. 605 WR=0:NC=0:GOSUB3140
  70. 610 W=INT(RND(1)*50):IFWU%(W)=1THEN610
  71. 611 NW=NW+1
  72. 612 IFNW<50THEN620
  73. 615 PRINT"YOU TRIED ";NW;"WORDS":
  74. 616 PRINT:PRINT"YOU GUESSED";NR;"OF THEM"
  75. 617 PRINT"AND HUNG THE POOR FELLOW";NH;"TIMES";"":
  76. 618 END
  77. 620 WU%(W)=1:NL=LEN(W$(W)):PRINT""
  78. 630 FORI=1TONL:PRINT" [192]";:NEXTI:PRINT
  79. 635 N=-1
  80. 640 FORI=1TO11:LM$(I)="[192]":NEXTI        
  81. 650 PRINT"GUESS A LETTER?  ";
  82. 660 GETL$:FL=0:IFL$<"A"THEN660
  83. 665 PRINTL$
  84. 670 IFL$>"Z"THEN660
  85. 680 FORI=0TO25
  86. 681 IFLG$(I)<>L$THEN689
  87. 685 FL=1
  88. 687 GOSUB7300
  89. 689 NEXTI
  90. 690 IFFL=1THEN650
  91. 695 N=N+1
  92. 700 FORI=1TONL
  93. 710 IFL$<>MID$(W$(W),I,1)THEN740
  94. 720 LM$(I)=L$                
  95. 730 FL=1
  96. 740 NEXTI
  97. 745 LG$(N)=L$
  98. 750 IFFL=1THEN1050
  99. 760 WR=WR+1
  100. 770 PRINT:PRINT"SORRY, THAT LETTER "
  101. 780 PRINT"IS NOT IN THIS WORD":PRINT
  102. 785 GOSUB3200
  103. 790 ONWRGOSUB800,810,820,830,840,850,860,870,880,890
  104. 795 GOTO650
  105. 800 PRINT"YOU GET A HEAD":GOSUB7000:GOSUB2050:GOSUB3070:GOSUB3140:RETURN
  106. 810 PRINT"HERE'S THE BODY.":GOSUB7000:GOSUB2200:GOSUB3070:GOSUB3140:RETURN
  107. 820 PRINT"NOW HIS FIRST LEG":GOSUB7000:GOSUB2260:GOSUB3070:GOSUB3140:RETURN
  108. 830 PRINT"SECOND LEG!":GOSUB7000:GOSUB3000:GOSUB3070:GOSUB3140:RETURN
  109. 840 PRINT"THIS GETS YOU AN ARM":GOSUB7000:GOSUB3030:GOSUB3070:GOSUB3140:RETURN
  110. 850 PRINT"THE OTHER ARM...":GOSUB7000:GOSUB3040:GOSUB3070:GOSUB3140:RETURN
  111. 860 PRINT"OH NO!  A FOOT!":GOSUB7000:GOSUB3010:GOSUB3070:GOSUB3140:RETURN
  112. 870 PRINT"HEY, DON'T HANG ME!!":GOSUB7000:GOSUB3020:GOSUB3070:GOSUB3140:RETURN
  113. 880 PRINT"A HAND--ONLY ONE LEFT":GOSUB7000:GOSUB3050:GOSUB3070:GOSUB3140:RETURN
  114. 890 PRINT"AAARGH! I'M HUNG!":GOSUB7000:NH=NH+1:GOSUB3060:GOSUB3070:GOTO900
  115. 900 GOSUB7100:GOSUB7200:PRINT"";:FORI=1TO20:PRINT" ";:NEXTI:PRINT
  116. 1000 PRINT"";:FORI=1TO20:PRINT" ";:NEXTI:PRINT
  117. 1010 PRINT"";:FORI=1TO20:PRINT" ";:NEXTI:PRINT
  118. 1015 PRINT"";:FORI=1TO20:PRINT" ";:NEXTI
  119. 1020 GOSUB3140:GOSUB2300:GOTO600
  120. 1050 PRINT:PRINT"THAT'S A GOOD ONE!"
  121. 1060 PRINT"HERE'S WHERE IT GOES"
  122. 1070 GOSUB7000:GOSUB3070:GOSUB3140:FL=0
  123. 1080 FORI=0TONL
  124. 1090 IFLM$(I)="[192]"THENFL=1
  125. 1095 NEXTI:IFFL=1THEN1150
  126. 1100 PRINT"":PRINT"GOT IT IN ";N+1;"GUESSES!"
  127. 1105 NR=NR+1
  128. 1110 FORI=1TO1500:NEXTI
  129. 1120 FORI=0TO21:POKEX(9)+Y(I),32:NEXTI
  130. 1130 FORI=0TO19:POKEX(11)+Y(I),32:NEXTI
  131. 1140 GOSUB2300:GOSUB7200:GOTO600
  132. 1150 GOSUB3220:GOSUB3140:IFFL=1THEN650
  133. 1160 GOTO1100
  134. 1998 PRINT"END"
  135. 1999 END
  136. 2000 DIMX(24),Y(39)
  137. 2010 J=1024
  138. 2020 FORI=0TO24:X(I)=J:J=J+40:NEXTI
  139. 2030 FORI=0TO39:Y(I)=I:NEXTI
  140. 2040 RETURN
  141. 2050 FORI=27TO29:POKEX(4)+Y(I),99:NEXTI
  142. 2060 POKEX(4)+Y(26),78:POKEX(7)+Y(30),78                                       
  143. 2070 POKEX(4)+Y(30),77:POKEX(7)+Y(26),77                         
  144. 2080 POKEX(5)+Y(25),118:POKEX(6)+Y(25),103:POKEX(5)+Y(31),117
  145. 2090 POKEX(6)+Y(31),101:POKEX(8)+Y(27),99:POKEX(8)+Y(29),99
  146. 2100 POKEX(5)+Y(27),81:POKEX(5)+Y(29),81:POKEX(6)+Y(28),87                     
  147. 2110 POKEX(7)+Y(27),74:POKEX(7)+Y(28),64:POKEX(7)+Y(29),75
  148. 2180 POKEX(8)+Y(28),224                
  149. 2190 RETURN                            
  150. 2200 FORI=9TO14:FORJ=26TO30
  151. 2210 POKEX(I)+Y(J),224:NEXTJ:NEXTI
  152. 2220 POKEX(9)+Y(28),150:FORI=10TO12
  153. 2230 POKEX(I)+Y(28),218:NEXTI
  154. 2240 FORI=26TO30:POKEX(13)+Y(I),226:NEXTI
  155. 2250 RETURN
  156. 2260 FORI=26TO27:FORJ=15TO18:POKEX(J)+Y(I),102:NEXTJ:NEXTI
  157. 2270 FORI=26TO30:POKEX(14)+Y(I),102:NEXTI                                      
  158. 2280 RETURN
  159. 2300 FORI=4TO19:FORJ=25TO31:POKEX(I)+Y(J),32:NEXTJ:NEXTI:RETURN
  160. 2500 FORA=704TO732:READTT:POKEA,TT:NEXTA:RETURN
  161. 2510 DATA 169,0,133,140,169,219,133,141,169,3,160,255,145,140,136,192,0,208,249
  162. 2520 DATA 198,141,164,141,192,215,208,239,96,0
  163. 3000 FORI=29TO30:FORJ=15TO18:POKEX(J)+Y(I),102:NEXTJ:NEXTI:RETURN
  164. 3010 POKEX(18)+Y(25),111:POKEX(19)+Y(25),226:POKEX(19)+Y(26),226
  165. 3015 POKEX(19)+Y(27),226:RETURN
  166. 3020 FORI=29TO31:POKEX(19)+Y(I),226:POKEX(18)+Y(31),111:NEXTI:RETURN
  167. 3030 FORI=10TO13:POKEX(I)+Y(25),231:NEXTI:POKEX(9)+Y(25),233:RETURN
  168. 3040 FORI=10TO13:POKEX(I)+Y(31),229:NEXTI:POKEX(9)+Y(31),223:RETURN
  169. 3050 POKEX(14)+Y(25),81:RETURN
  170. 3060 POKEX(14)+Y(31),81:RETURN
  171. 3070 PRINT"";
  172. 3080 FORI=0TO9:PRINTLG$(I);" ";:NEXTI:PRINT
  173. 3090 PRINT"";:FORI=10TO19:PRINT" ";LG$(I);:NEXTI:PRINT
  174. 3100 PRINT"";:FORI=20TO25:PRINTLG$(I);" ";:NEXTI:PRINT
  175. 3110 PRINT"":FORI=1TONL:PRINT" ";LM$(I);:NEXTI:PRINT
  176. 3130 RETURN
  177. 3140 FORI=0TO21:POKEX(14)+Y(I),32:POKEX(16)+Y(I),32:POKEX(17)+Y(I),32
  178. 3145 POKEX(10)+Y(I),32:NEXTI
  179. 3150 GOSUB3200
  180. 3160 RETURN
  181. 3200 FORI=0TO21:POKEX(19)+Y(I),32:NEXTI
  182. 3210 RETURN
  183. 3220 PRINT:PRINT:PRINT:PRINT:PRINT"GUESS THE WORD?":FL=0:PRINT"[145][145][145][145][145]";
  184. 3230 FORI=1TONL
  185. 3240 GETI$:IFI$=" "THENFL=1:I=NL:GOTO3275
  186. 3245 IFI$<"A"THEN3240
  187. 3250 IFI$>"Z"THEN3240
  188. 3260 IFI$<>MID$(W$(W),I,1)THENFL=1
  189. 3270 PRINT" ";I$;
  190. 3275 NEXTI
  191. 3280 RETURN
  192. 6000 GOTO600
  193. 7000 FORPS=1TO1000:NEXTPS:RETURN
  194. 7100 POKE1251,43:POKE1253,43:POKE1331,85:POKE1332,64:POKE1333,73
  195. 7110 GOSUB7000:RETURN                   
  196. 7200 PRINT"";"THE WORD WAS ";"";W$(W);"[146]":GOSUB7000
  197. 7210 PRINT"";"...ANOTHER WORD?"
  198. 7215 GETI$
  199. 7220 IFI$="Y"THENPRINT"[145][145][145][145]";"                         ":RETURN
  200. 7230 IFI$="N"THENPRINT"[147]";"OK.....THANKS FOR THE GAME!";"":GOTO615
  201. 7240 GOTO7215
  202. 7300 PRINT"";" ALREADY PICKED  ";L$:GOSUB7000:GOSUB3140:RETURN
  203. 10010 DATA MAGISTRATE,MAHOGANY,ANSWER
  204. 10020 DATA CASTLE,INTEREST,VACUUM,MOOSE
  205. 10030 DATABASKET,AUTOMOBILE,CONSERVE
  206. 10040 DATAANIMOSITY,FRUSTRATE,OGLE,SKIING
  207. 10050 DATACIGARETTE,CREDENZA,CREDENTIALS
  208. 10060 DATAHAMMOCK,SAILBOAT,BUILDING,DOOM
  209. 10070 DATATELEPHONE,RADIOLOGY,MIXTURE
  210. 10080 DATAKEYBOARD,TYPEWRITER,FEMUR
  211. 10090 DATADECADE,PARTIAL,OOZE,EMULATE
  212. 10100 DATAFIREPLACE,CREATURE,FROZEN
  213. 10110 DATATONGUE,CLOTHING,ELEVATOR
  214. 10120 DATADRAPERIES,HANGMAN,RELINQUISH
  215. 10130 DATAQUADRANGLE,TRIANGLE,LOCATION
  216. 10140 DATAINDICATE,BUFFOON,MUDDLE
  217. 10150 DATASEQUENTIAL,ABDICATE,AARDVARK
  218. 10160 DATARUTABAGA
  219.